package org.jeecg.modules.base.trade.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 交易对接
 * @Author: jeecg-boot
 * @Date: 2023-09-07
 * @Version: V1.0
 */
@Data
@TableName("tvc_trade_docking")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "交易对接对象", description = "tvc_trade_docking")
public class TvcTradeDocking implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private Integer id;
    /**
     * 币种
     */
    @Excel(name = "币种", width = 15)
    @ApiModelProperty(value = "币种")
    private String ticker;
    /**
     * 交易所
     */
    @Excel(name = "交易所", width = 15)
    @ApiModelProperty(value = "交易所")
    private String ex;
    /**
     * 收盘价
     */
    @Excel(name = "收盘价", width = 15)
    @ApiModelProperty(value = "收盘价")
    private BigDecimal close;
    /**
     * 开盘价
     */
    @Excel(name = "开盘价", width = 15)
    @ApiModelProperty(value = "开盘价")
    private BigDecimal open;
    /**
     * 最高价
     */
    @Excel(name = "最高价", width = 15)
    @ApiModelProperty(value = "最高价")
    private BigDecimal high;
    /**
     * 最低价
     */
    @Excel(name = "最低价", width = 15)
    @ApiModelProperty(value = "最低价")
    private BigDecimal low;
    /**
     * 时间
     */
    @Excel(name = "时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "时间")
    private Date time;
    /**
     * 成交量
     */
    @Excel(name = "成交量", width = 15)
    @ApiModelProperty(value = "成交量")
    private BigDecimal volume;
    /**
     * 现在时间
     */
    @Excel(name = "现在时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "现在时间")
    private Date timenow;
    /**
     * 时间区间
     */
    @Excel(name = "时间区间", width = 15)
    @ApiModelProperty(value = "时间区间")
    private Integer interval;
    /**
     * 头寸大小
     */
    @Excel(name = "头寸大小 ", width = 15)
    @ApiModelProperty(value = "头寸大小 ")
    private BigDecimal positionSize;
    /**
     * 买卖方向
     */
    @Excel(name = "买卖方向", width = 15)
    @ApiModelProperty(value = "买卖方向")
    private String action;
    /**
     * 合同
     */
    @Excel(name = "合同", width = 15)
    @ApiModelProperty(value = "合同")
    private BigDecimal contracts;
    /**
     * 价格
     */
    @Excel(name = "价格", width = 15)
    @ApiModelProperty(value = "价格")
    private String price;
    /**
     * 交易账号id
     */
    @Excel(name = "交易账号id", width = 15)
    @ApiModelProperty(value = "交易账号id")
    private String trdateId;
    /**
     * 市场方向
     */
    @Excel(name = "市场方向", width = 15)
    @ApiModelProperty(value = "市场方向")
    private String marketPosition;
    /**
     * 市场方向价格
     */
    @Excel(name = "市场方向价格", width = 15)
    @ApiModelProperty(value = "市场方向价格")
    private String marketPositionSize;
    /**
     * 交易所
     */
    @Excel(name = "交易所", width = 15)
    @ApiModelProperty(value = "交易所")
    private String exchange;
    /**
     * 杠杆倍数
     */
    @Excel(name = "杠杆倍数", width = 15)
    @ApiModelProperty(value = "杠杆倍数")
    private BigDecimal lever;
    /**
     * 保证金模式
     */
    @Excel(name = "保证金模式", width = 15)
    @ApiModelProperty(value = "保证金模式")
    private String tdMode;
    /**
     * 币种
     */
    @Excel(name = "币种", width = 15)
    @ApiModelProperty(value = "币种")
    private String symbol;
    /**
     * 交易类型（marker，limit)
     */
    @Excel(name = "交易类型（marker，limit)", width = 15)
    @ApiModelProperty(value = "交易类型（marker，limit)")
    private String ordType;
    /**
     * 成交数量
     */
    @Excel(name = "成交数量", width = 15)
    @ApiModelProperty(value = "成交数量")
    private BigDecimal amount;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**
     * 更新人
     */
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**
     * 更新时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
}
